package com.fast.alden.admin.service;

import com.fast.alden.common.entity.dto.LoginParam;
import com.fast.alden.common.entity.dto.LoginResult;
import com.fast.alden.common.entity.dto.VerifyCodeEntity;

import java.io.IOException;

/**
 * 认证（登录）与鉴权管理服务类
 */
public interface AuthService {
    /**
     * 生成验证码
     */
    VerifyCodeEntity generateVerifyCode() throws IOException;

    /**
     * 验证码校验
     */
    void checkVerifyCode(String verifyCodeKey, String verifyCode);

    /**
     * 用户登录
     */
    LoginResult login(LoginParam param);

    /**
     * 注销登录
     */
    void logout();
}
